/**
 * @file at_http_register.h
 * @author eson (eson_tang@163.com)
 * @brief 自动注册设备信息
 * @version 1.0
 * @date 2025/05/23
 * @copyright (c) 2025 eson
 * 
*/
#ifndef AT_HTTP_REGISTER_H
#define AT_HTTP_REGISTER_H
#include "stdint.h"
#ifdef __cplusplus
extern "C" {
#endif
 typedef struct {
	  uint8_t process_sta;
    uint8_t app_lock; // 应用锁，0:未锁定, 1:锁定
    uint16_t productId; // 产品ID 
    char mac[20];       // 设备MAC地址
    char deviceName[50]; // 设备名称
    char userKey[50];   // 用户密钥
    const char *http_url; // 服务器地址
    char reg_url_path[100]; // 注册url_path
    char body[200];     // 注册内容 
} http_info_t;//提供注册的信息
//自动注册使能
typedef enum {
    HTTP_OK = 0,          // HTTP请求成功
    HTTP_ERROR = -1,      // HTTP请求失败
    HTTP_TIMEOUT = -2,    // HTTP请求超时
    HTTP_PARSE_ERROR = -3 // HTTP响应解析错误
} http_status_t; // HTTP状态码

typedef struct {
    char sever_addr[80]; // 服务器地址
    char mqttc_clientId[80];   // 设备ID
    char mqttc_userName[80]; // 
    char mqttc_passWord[80]; // 
    char mqttc_subTopic[80]; // 
    char mqttc_pubTopic[80]; // 
}at_http_rev_mqttc_info;//解析返回的数据

extern at_http_rev_mqttc_info rev_mqttc_info;

http_status_t at_http_register_init(char *mac,uint16_t productId);

uint8_t cb_mqtt_rev(void *Ptx, uint8_t *dataBuf, uint8_t len, uint8_t *cmd_UrcString);

void at_http_register_set_mqttc_info(at_http_rev_mqttc_info *mqtt_info);

#ifdef __cplusplus
}
#endif

#endif // AT_HTTP_REGISTER_H
